<?php
namespace app\admin\model;
use app\admin\controller\Common;
use app\admin\model\IndexTableModel;
use think\Db;

class RyImLogic
{


    /**
     * 修改融云用户个人信息
     * User:@hang
     */
    public function editryAccountImportMmeberInfo($member_id,$me_nick_name,$me_img){
        $IndexTableModel = New IndexTableModel();
        $member_info = $IndexTableModel->getFind('fa_member',array('member_id'=>$member_id),'member_id,me_rongyun_token');
        if(empty($member_info)){
            return '用户还未注册,修改信息失败';
        }
        if(empty($member_info['me_rongyun_token'])){
            return '用户还未注册融云,修改信息失败';
        }
        //拼接post需要发送的数据
        $postData = 'userId='.$member_id.'&name='.$me_nick_name.'&portraitUri='.$me_img;
        // 请求url
        $url = 'https://api.rong-api.com/user/refresh.json';
        //发送请求
        $json = json_decode($this->request_post_push($url, $postData));
        //转换为数组
        $arr = get_object_vars($json);
        //判断返回的code码
        if($arr['code'] == 200){
            return 200;
        }else{
            return '融云修改用户信息失败';
        }
    }


    /**
     * 融云请求接口请求发送方法
     * User:@hang
     */
    public function  request_post_push($url = "", $postData = "") {
        $Common = New Common();
        // 制定允许其他域名访问
        header("Access-Control-Allow-Origin:*");
        // 响应类型
        header('Access-Control-Allow-Methods:POST');
        // 响应头设置
        header('Access-Control-Allow-Headers:x-requested-with, content-type');

        //参数初始化
        $appKey = $Common->getTripartiteConfigValue('rongIMappKey');
        $appSecret = $Common->getTripartiteConfigValue('rongIMappSecret');


        $nonce = mt_rand(); // 获取随机数。

        $timeStamp = time() * 1000;// 获取时间戳。

        $signature = sha1($appSecret.$nonce.$timeStamp);

        $httpHeader = array(

            'App-Key:'.$appKey, //	平台分配

            'Nonce:'.$nonce, //	随机数

            'Timestamp:'.$timeStamp, //	时间戳

            'Signature:'.$signature, //	签名

            'Content-Type: application/x-www-form-urlencoded',

        );
        // 初始化curl
        $ch = curl_init();
        // 设置你需要抓取的URL
        curl_setopt($ch, CURLOPT_URL, $url);
        // post提交方式
        curl_setopt($ch, CURLOPT_POST, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        // 设置cURL 参数，要求结果保存到字符串中还是输出到屏幕上。
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // 设置header
        curl_setopt($ch, CURLOPT_HEADER, false);
        // 增加 HTTP Header（头）里的字段
        curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);

        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        // 终止从服务端进行验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        // 运行curl
        $data = curl_exec($ch);
        // 关闭URL请求
        curl_close($ch);
        return $data ;
    }


    /**
     * JSON方式  融云请求接口请求发送方法
     * User:@hang
     */
    public function  request_json_push($url = "", $postData = "") {
        $Common = New Common();
        // 制定允许其他域名访问
        header("Access-Control-Allow-Origin:*");
        // 响应类型
        header('Access-Control-Allow-Methods:POST');
        // 响应头设置
        header('Access-Control-Allow-Headers:x-requested-with, content-type');

        //参数初始化
        $appKey = $Common->getTripartiteConfigValue('rongIMappKey');
        $appSecret = $Common->getTripartiteConfigValue('rongIMappSecret');

        $nonce = mt_rand(); // 获取随机数。

        $timeStamp = time() * 1000;// 获取时间戳。

        $signature = sha1($appSecret.$nonce.$timeStamp);

        $httpHeader = array(

            'App-Key:'.$appKey, //	平台分配

            'Nonce:'.$nonce, //	随机数

            'Timestamp:'.$timeStamp, //	时间戳

            'Signature:'.$signature, //	签名

            'Content-Type: application/json',

        );
        // 初始化curl
        $ch = curl_init();
        // 设置你需要抓取的URL
        curl_setopt($ch, CURLOPT_URL, $url);
        // post提交方式
        curl_setopt($ch, CURLOPT_POST, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        // 设置cURL 参数，要求结果保存到字符串中还是输出到屏幕上。
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // 设置header
        curl_setopt($ch, CURLOPT_HEADER, false);
        // 增加 HTTP Header（头）里的字段
        curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);

        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        // 终止从服务端进行验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        // 运行curl
        $data = curl_exec($ch);
        // 关闭URL请求
        curl_close($ch);
        return $data ;
    }



}